Methods for recognizing pose and action of articulated objects with collection of planes in motion

ABSTRACT

The invention comprises an improved system, method, and computer-readable instructions for recognizing pose and action of articulated objects with collection of planes in motion. The method starts with a video sequence and a database of reference sequences corresponding to different known actions. The method identifies the sequence from the reference sequences such that the subject in performs the closest action to that observed. The method compares actions by comparing pose transitions. The cross-homography invariant may be used for view-invariant recognition of human body pose transition and actions.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority from U.S. provisional application Ser. No. 61/182,126, filed May 29, 2009, the disclosure of which is incorporated herein by reference in its entirety.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH

Development of this invention was supported in part by Grant No. 16406039 from National Science Foundation. The government has certain rights in this invention.

BACKGROUND OF THE INVENTION

1. Technical Field

This invention relates to pose and action recognition, and specifically to an improved system, method, and computer-readable instructions for recognizing pose and action of articulated objects with collection of planes in motion.

2. Discussion of the Background

Conventional techniques for pose estimation detect various objects of a subject such as body parts of a human. In the study of human motion, set of body points is widely used to represent a human body pose. Additionally, pose estimation can determine an orientation of the body part. Previously proposed projective invariants are dealing with a set of stationary points, and almost exclusively derived from cross-ratio, which is an invariant of a set of points on a rigid object. The only exception in the literature was the study of invariants defined with Cartan mobile frames. The difficulty with the latter is that it deals only with invariants of evolution of a curve, which are non-linear, are not easy to generalize to point sets in 3D space, and cannot be decomposed into motions of planes with well-studied properties.

Specifically, human action recognition has been the subject of extensive studies in the past. The main challenges are due to perspective distortions, differences in viewpoints, unknown camera parameters, anthropometric variations, and the large degrees of freedom of articulated bodies. To make the problem more tractable, researchers have made simplifying assumptions on one or more of the following aspects: (1) camera model, such as scaled orthographic or calibrated camera; (2) camera pose, i.e. little or no viewpoint variations; (3) anatomy, such as isometry, coplanarity of a subset of body points, etc.

There are mainly two lines of research to tackle view invariance: One is based on the assumption that the actions are viewed by multiple cameras, and the second is based on assuming that the actions are captured in monocular sequences by stationary cameras. The obvious limitation of multi-camera approach is that most practical applications are limited to a single camera. In the second category several ideas have been explored, e.g. the invariants associated with a given camera model, such as affine, or projective, rank constraints on the action space represented by a set of basis functions, or the use of epipolar geometry induced by the same pose in two views.

A number of patents exist which relate to pose and action recognition, including, U.S. Pat. Nos. 7,317,836, 7,158,656, 6,944,319, 6,941,239, 6,816,632, 6,741,756, 20030169906, 20030235334, 20040120581, 20040240706, 20050265583; all of which are incorporated herein by reference.

Accordingly, there is a need in the art for a computer-implemented system and method for recognizing pose and action of articulated objects with collection of planes in motion. The present invention is designed to address these needs.

SUMMARY OF THE INVENTION

Broadly speaking, the present invention is an improved system, method, and computer-readable instructions for recognizing pose and action of articulated objects with collection of planes in motion. The invention may be used with any user interfaces based on gestures, including Human Computer Interfaces (HCI) with gestures (hand, arm, face, body). It provides for view invariant recognition of pose, action, and gestures (hand, body, face). It may also be used in conjunction with video surveillance.

The approach herein is based on geometry. It assumes a fully projective camera with no restrictions on pose and viewing angles. Moreover, it relaxes restrictive anthropometric assumptions such as isometry. This is due to the fact that unlike existing methods that regard an action as a whole, or as a sequence of individual poses, it represents an action as a set of non-rigid pose transitions defined by triplets of points—that is it decomposes each pose into a set of point-triplets and find invariants for the rigid motion of the planes defined by triplets across two frames. Therefore, the matching score in this method is based on pose transition, instead of being based directly on individual poses or on the entire action. This approach can also accommodate the possibility of self-occlusion, which may occur under some poses.

In an embodiment, a moving plane observed by a fixed camera induces a fundamental matrix F across multiple frames, where the ratios among the elements in the upper left 2×2 submatrix are herein referred to as the Fundamental Ratios. The fundamental ratios are invariant to camera parameters, and hence can be used to identify similar plane motions from varying viewpoints. Furthermore, using the fact that the homography induced by the motion of a plane defined by a triplet of body points in two identical body pose transitions reduces to the special case of a homology, it exploits the equality of two of its eigenvalues to impose constraints on the similarity of the pose transitions between two subjects, observed by different perspective cameras and from different viewpoints. Thus, for action recognition, it decomposes a body posture into a set of point triplets (planes). The similarity between two actions is then determined by the motion of point triplets and hence by their associated fundamental ratios and the equality of the eigenvalues of the cross-homography, providing thus view-invariant recognition of actions. As a result, the method herein can recognize actions under substantial amount of noise, even when they have dynamic timeline maps, and the viewpoints and camera parameters are unknown and totally different.

In embodiments, this technique introduces projective invariants of a moving plane defined by a triplet of points. Two specific invariants are introduced: the cross-homography invariant and the vector of fundamental ratios. Both invariants being projective are preserved across different perspective views by different cameras. By decomposing the motion of a set of N>3 freely moving points into the motion of point triplets, a highly non-linear problem of characterizing the free motion of N points is reduced into a set of linear problems of characterizing the rigid motion of planes defined by every triplet. The proposed invariants provide an elegant solution to recognize same poses and actions performed by articulated bodies viewed by different cameras at different viewing angles. Important applications include gesture-based computer interfaces and video surveillance.

In an embodiment of the present invention, the motion of a set of points moving freely in space or moving as part of an articulated body can be decomposed into a collection of rigid motions of planes defined by every triplet of points in the set. The significance of this observation is that articulated or freely moving points are difficult to study, whereas the rigid motion of planes in space is well understood. This provides a means of decomposing a very difficult and highly non-linear problem into a collection of relatively simpler and linear problems.

The invention can be implemented in numerous ways, including as a system, a device/apparatus, a method, or a computer readable medium. Several embodiments of the invention are discussed below.

As a method, the invention comprises a computer-implemented method for recognizing pose and action of articulated objects with collection of planes in motion. In an example embodiment, the method comprises (1) receiving by the computing device action sequence information (in real time or previously recorded) as a set of labeled points for each image, wherein the received information requires only a single camera view, and wherein a human body pose P is generally represented by M body points: P={mi=1 . . . M} obtained by using articulated object tracking techniques, (2) processing the action sequence information using the methods of the invention (i.e., solve the action recognition problem) to find a probable match by comparing the information to a reference sequence (e.g., a sequence of 2D poses for each known action maintained in an action database of actions), wherein the known actions require only one example view of each action in the database, (3) outputting the match along with optional confidence level information of one or more matches (e.g., outputting the confidence level as a percentage or, if more than one probable match is located, ranking the matches by confidence level).

The methods of the present invention may be implemented as a computer program product with a computer-readable medium having code thereon implementing the steps of the invention.

As an apparatus, the present invention may include an input camera device and a computing device having at least one processor, a memory coupled to the processor, a program residing in the memory which implements the methods of the present invention, in communication with a database of known actions. In one embodiment, the system includes a standard or specialized optical recognition camera to receive information associated with a subject (in real-time or as a stored sequence of motions) wherein only one view is required, a database of known actions wherein only one example of each action is required, and a processing module to implement the steps of the invention, and an output module to output a result of the method.

In a further embodiment, the invention comprises a computer-implemented method for recognizing pose and action of articulated objects, comprising: receiving by a computing device action sequence information as a set of points for each of a plurality of images, wherein the set of points represents a pose P defined by M body points obtained by using an articulated object tracking technique; processing the action sequence information by solving via the computing device an action recognition problem to find one or more probable matches by comparing based on pose transition the action sequence information to a reference sequence, wherein the action recognition problem decomposes motions of the set of points into a collection of rigid motions of planes defined by triplets of points in the set; and outputting at least one of the one or more probable matches.

The action sequence information may be received in real time or from previously recorded action sequence information. The reference sequence may include a sequence of two-dimensional (2D) poses for each of a known action maintained in an action database of known actions. The pose P may be represented by M body points such that P={mi=1 . . . M}. The plurality of images may be obtained from a single camera view. Optionally, the method may include calculating and outputting by the processing device confidence level information for the one or more probable matches.

In a further embodiment, the action recognition problem uses action sequence information comprising a set of non-rigid pose transitions defined by the triplets of points, such that each pose is decomposed into the collection of rigid motions of planes defined by triplets of points in the set, wherein the triplets of points represent planes and invariants of the planes are found for a rigid motion of the planes defined by the triplets across two frames. The invariants of the planes may be found by one or both of a vector of fundamental ratios and an equality of eigenvalues of cross-homography, thereby providing a view-invariant recognition of actions. The vector of fundamental ratios defines three projective invariants for a configuration involving a moving plane as a moving triplet of points as observed in two frames by a stationary camera.

The output probable match(es) may be utilized in one or more of a video surveillance system or a gesture-based computer interface, or the like.

In a further embodiment, the invention comprises a computer readable medium containing program instructions for execution on a computing device, which when executed by the computing device, causes the computing device to: receive action sequence information as a set of points for each of a plurality of images, wherein the set of points represents a pose P defined by M body points obtained by using an articulated object tracking technique; process the action sequence information by solving an action recognition problem to find one or more probable matches by comparing based on pose transition the action sequence information to a reference sequence, wherein the action recognition problem decomposes motions of the set of points into a collection of rigid motions of planes defined by triplets of points in the set; and output at least one of the one or more probable matches.

The computer readable medium may further comprise code devices for calculating and outputting by the processing device confidence level information for the one or more probable matches. The action recognition problem may use action sequence information comprising a set of non-rigid pose transitions defined by the triplets of points, such that each pose is decomposed into the collection of rigid motions of planes defined by triplets of points in the set, wherein the triplets of points represent planes and invariants of the planes are found for a rigid motion of the planes defined by the triplets across two frames. The invariants of the planes may be found by one or both of a vector of fundamental ratios and an equality of eigenvalues of cross-homography, thereby providing a view-invariant recognition of actions. The vector of fundamental ratios defines three projective invariants for a configuration involving a moving plane as a moving triplet of points as observed in two frames by a stationary camera.

In a still further embodiment, the invention comprises a system for recognizing pose and action of articulated objects, comprising: a computing device having at least one processing device, a memory coupled to the processing device, the computing device in communication with a data source comprising action sequence information of an articulated object and a database of known actions; wherein the processing device executes a program residing in the memory to: receive the action sequence information from the data source as a set of points for each of a plurality of images, wherein the set of points represents a pose P defined by M body points obtained by using an articulated object tracking technique; process the action sequence information by solving an action recognition problem to find one or more probable matches by comparing based on pose transition the action sequence information to a reference sequence from the database of known actions, wherein the action recognition problem decomposes motions of the set of points into a collection of rigid motions of planes defined by triplets of points in the set; and output at least one of the one or more probable matches.

The system may further comprise calculating and outputting by the processing device confidence level information for the one or more probable matches. The action recognition problem may use action sequence information comprising a set of non-rigid pose transitions defined by the triplets of points, such that each pose is decomposed into the collection of rigid motions of planes defined by triplets of points in the set, wherein the triplets of points represent planes and invariants of the planes are found for a rigid motion of the planes defined by the triplets across two frames. The invariants of the planes may be found by one or both of a vector of fundamental ratios and an equality of eigenvalues of cross-homography, thereby providing a view-invariant recognition of actions. The vector of fundamental ratios defines three projective invariants for a configuration involving a moving plane as a moving triplet of points as observed in two frames by a stationary camera.

The advantages of the invention are numerous. First, rather than needing hundreds of examples and different views in order to essentially have all viewing directions of a motion (i.e., exhaustive information), the present invention only requires one viewing angle of the subject and one example of each known action in the database (i.e., it is invariant to camera intrinsic parameters and viewpoint). The idea of decomposing the motion of a set of points on a non-rigid object as the motions of a collection of point triplets provides a clever means of decomposing a very difficult and highly non-linear problem into a set of relatively simpler and linear problems. On the other hand, the significance of the two invariants discovered is that, first of all, they describe invariants associated with motion. This is unlike existing projective invariants that deal with invariants of a set of rigid points in space, e.g. cross-ratio, collinearity, concurrency, etc. Second the invariants are preserved with variations in camera internal parameters. Third, they provide means of recognizing similar motions of two sets of moving points observed by two cameras from different viewing angles.

Other aspects and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings, illustrating, by way of example, the principles of the invention.

All patents, patent applications, provisional applications, and publications referred to or cited herein, or from which a claim for benefit of priority has been made, are incorporated herein by reference in their entirety to the extent they are not inconsistent with the explicit teachings of this specification.

BRIEF DESCRIPTION OF THE DRAWINGS

In order that the manner in which the above-recited and other advantages and objects of the invention are obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:

FIG. 1 shows two distinct actions with corresponding poses.

FIG. 2 shows an example of similar pose transitions.

FIG. 3 shows homographies induced by a moving triplet of points.

FIG. 4 shows a human body model with 11 body points.

FIG. 5 shows data used to test robustness to noise.

FIG. 6 shows robustness to noise plots.

FIG. 7 shows a performance comparison.

FIG. 8 shows the distribution of two cameras.

FIG. 9 shows a pose observed from 17 viewpoints.

FIG. 10 shows two examples of alignment

FIG. 11 shows result of action recognition based on the confusion matrix.

FIG. 12 shows the fundamental matrix induced by a moving plane.

FIG. 13 shows analysis view of invariance.

FIG. 14 shows robustness to noise.

FIG. 15 shows distribution of cameras.

FIG. 16 shows examples of matching action sequences.

FIG. 17 is an overview of an embodiment of a hardware architecture of the present invention.

FIG. 18 depicts a flowchart of an embodiment of a method of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Referring now to the drawings, the preferred embodiment of the present invention will be described. The invention comprises an improved system, method, and computer-readable instructions for recognizing pose and action of articulated objects with collection of planes in motion.

An embodiment of the method starts with a video sequence and a database of reference sequences corresponding to different known actions. The method identifies the sequence from the reference sequences such that the subject in performs the closest action to that observed. The method compares actions by comparing pose transitions. Since action can be regarded as a sequence of poses, a straightforward approach to match two actions is to check the pose-to-pose correspondences. Two same body poses observed by different cameras are related by epipolar geometry via the fundamental matrix, which provides a constraint to match the two poses, regardless of camera calibration matrices or viewpoints.

The 3D body structure of a human can be divided into triplets of body points, each of which determines a plane in the 3D space when the points are not collinear. The problem of comparing articulated motions of human body thus transforms to comparing rigid motions of body planes (triplets). The motion of a plane induces a fundamental matrix, which can be identified by its associated fundamental ratios. If two pose transitions are identical, their corresponding body point triplets have the same fundamental ratios, which provide a measure for matching two pose transitions.

This invention introduces projective invariants of a moving plane defined by a triplet of points. Two specific invariants are introduced: the cross-homography invariant and the vector of fundamental ratios. The cross-homography invariant may be used for view-invariant recognition of human body pose transition and actions. Assume π₁ and π₂ are two planes and C₁ and C₂ two points not on the planes (see FIG. 2). Let H₁ and H₂ be the two homographies induced by π₁ and π₂ under any pair of central projections through C₁ and C₂. The projections of the line of intersection of; and π₁ and π₂ and those of points C₁ and C₂ are invariant under H˜H₁H₂ ⁻¹ independently of the positions of C₁ and C₂ and the choice of the two central projection planes.

The significance of this invariant is that it also holds if we have two separate configurations: i.e. a pair π₁₁ and π₁₂ with a point C₁ not on the planes, and a pair it π₂₁ and π₂₂ with a point C₂ not on the planes. Then the cross-homography invariance still holds as long as the configurations of the two pairs of planes in the 3D space differ only by a similarity transformation.

This observation is critical for our target applications, since if we consider the pair π₁₁→π₁₂ as a discrete motion of a plane in the 3D space, and the pair π₂₁→π₂₂ as the discrete motion of a second plane, and if the two motions are identical (or more generally differ only by a similarity transformation), then this can be identified regardless of the choice of the central projections and positions of C₁ and C₂. In other words, similar motions of two planes observed by two arbitrary and uncalibrated unknown cameras can be identified using the cross-homography invariant regardless of the pose and the intrinsic parameters of the two cameras.

The cross-homography invariant may be used for view-invariant recognition of human body pose transition and actions. For this purpose, note that any articulated object can be modeled by a set of N points corresponding to its joints and end points. On the other hand, any triplet of points out of these N points define the image of a plane in the 3D space, which after a pose transition would yield the image of the displaced plane. The cross-homography invariant exhibits itself as a constraint on the eigenvalues of the matrix H, stating that when the motions of two planes observed by two cameras are identical, two of the eigenvalues of H must be equal. This is proven to be remarkable robust and resilient to noise for recognizing similar action of articulated objects from different viewing angles by completely different cameras.

Vector of fundamental ratios: For a pair of natural cameras, i.e. cameras with zero skew and unit aspect ratio, we can show that the upper-left 2×2 submatrix of the fundamental matrix F^(2×2) is invariant to camera intrinsic parameters. Moreover, the ratios among the components of F^(2×2) remain invariant for two cameras undergoing same motion up to a similarity transformation. This implies that these ratios do not depend on the absolute position and orientation of the camera but rather on its relative motion. A more interesting interpretation of these invariant ratios, which we refer to as fundamental ratios, is depicted in herein. A fundamental matrix induced by a moving camera observing a stationary planar surface is dual to a fundamental matrix induced by a moving plane observed by a stationary camera.

An interesting application of fundamental ratios in gesture and action recognition based on the above dual interpretation is provided. Essentially, fundamental ratios define 3 projective invariants for a configuration involving a moving plane (moving triplet of points) observed in two frames by a stationary camera.

A detailed description of embodiments of the invention follow herein, with reference first to action recognition based in homographies induced by point triplets:

We turn first to Representation of Pose. Set of body points is a widely used representation of human pose in action recognition, partly due to the fact that human body can be modeled as an articulate object, and partly because body points can capture sufficient information to achieve the task of action recognition. Using this representation, an action is regarded as a sequence of point sets, or a set of point trajectories in time. Other representations of pose include subject silhouette, optical flow and local space time features. We use the body point representation. Thus, an action is represented as a sequence of point sets. These points, which are the only inputs to our algorithm, can be obtained by using articulated object tracking techniques. We shall, henceforth, assume that tracking has already been performed on the data, and that we are given a set of labeled points for each image.

Now we look at Pose Transitions. Since action can be regarded as a sequence of poses, a straightforward approach to match two actions is to check the pose-to-pose correspondences. Two same body poses observed by different cameras are related by epipolar geometry via the fundamental matrix, which provides a constraint to match the two poses, regardless of camera calibration matrices or viewpoints. Pose-to-pose correspondence, however, is a necessary, but not a sufficient condition for action correspondence.

Consider the following case: A subject holds a pose as illustrated in FIG. 1 (a) during the sequence 1, while in sequence 2 (FIG. 1 (b)) it performs a spin, i.e. a rotation around some axis while keeping the same pose as the subject in FIG. 1 (a). These two actions are obviously distinct; however there exist many pose-to-pose correspondences between them since the pose remains unchanged during the two actions. Therefore, additional constraints other than pose correspondence are required to tackle this problem. In addition, most fundamental matrix based methods enforce the constraint that all pose-to-pose correspondences share the same epipolar geometry, i.e., the same fundamental matrix, which is critical to the success of these methods.

Another limitation of fundamental matrix based methods is that they require at least 7 or 8 point correspondences for each pair of poses to measure their similarity. However, in practice, in order to overcome errors, they require far more points, which may not be always possible, especially when self-occlusions exist. For pose-to-pose based methods, this requirement is repeated for every pair of poses (i.e. every image pair), increasing thus their noise sensitivity. We overcome this problem by decomposing body pose into point triplets leading to a largely over-determined problem as described below.

Since actions are spatio-temporal data in 4D, the temporal information is essential to the perception and understanding of actions. However, this is ignored when working directly on individual poses, as in the methods based on fundamental matrix. We alleviate this problem by measuring the similarity between pose transitions, rather than poses themselves. Pose transition includes the temporal information of human motion, while keeping the task at the atomic level. Thus, an action can be regarded as a sequence of pose transitions. In the example shown in FIG. 1, although sequences (a) and (b) have the same poses, they are performing different sequences of pose transitions, making it possible to distinguish between the two actions.

Statement 1: Two actions are identical if and only if they start at the same pose, and follow the same sequences of pose transitions.

This statement implies that the recognition and matching of two actions can be achieved by measuring the similarity between their sequences of pose transitions. The problem is then reduced to matching pose transitions, which is stated as follows: given two pairs of poses, denoted by (I₁, I₂) and (Ji,Jj) (see FIG. 2), we aim to determine whether the transformation from I₁ to I₂ matches to that from Ji to Jj. Note that I_(1,2) and J_(i,j) are sets of 2D labeled points that are observed by cameras with different intrinsic parameters and from different viewpoints.

We turn now to Matching Pose Transitions.

First, we look at Homographies Induced by a Triplet of Body Points: Using point representation, a pose is characterized by a set of body points. Each triplet of non-collinear points specifies a scene plane. Therefore, a non-rigid pose transition can be decomposed into the rigid motions of scene planes determined by all non-collinear triplets. This has the following advantages: (1) The similarity of pose transitions for articulated bodies can be measured by matching the rigid motions of scene planes defined by all triplets of body points—rigid motions of planes is a much better understood and more widely studied subject. (2) The representation leads to a highly over-determined formulation of the problem, allowing thus to achieve robustness to noise and self-occlusions: Given n point correspondences, we obtain

$\quad\begin{pmatrix} n \\ 3 \end{pmatrix}$ criteria to measure the similarity. Even if there exist occluded body points, they can be ignored since by far the vast majority of point triplets would be typically available to fulfill the task. (3) Anthropometric restrictions can be relaxed, since only the transitions of planes in the 3D space matter, and not the points defining these planes or the ratios of the distances between these points.

Consider the case that (I₁,I₂) corresponds to (J_(i),J_(j)), and the transformation from I_(I) to I₂ corresponds to that from J_(i) to J_(j). I_(1,2) and J_(i,j) can then be regarded as the images of same moving subject viewed by two different cameras. Suppose that I_(1,2) are observed by camera P1 and J_(i,j) by camera P₂. P₁ and P₂ may have different intrinsic and extrinsic parameters. As described earlier, these point correspondences induce an epipolar geometry via the fundamental matrix F. The projection of the camera center of P₂ in I₁ and I₂ is given by the epipole e1, which is found as the right null vector of F. Similarly the image of the camera center of P₁ in J_(i) and J_(j) is the epipole e₂ given by the right null vector of F^(T).

Let us now consider an arbitrary triplet of 3D body points (see highlighted points in FIG. 2 for example), Δ={X_(1,2,3)}, which corresponds to Δ₁=(x_(1,2,3)) in I₁ and Δ_(i)=(y_(1,2,3)) in J_(i). After the pose transformation, Δ transforms to Δ′={X′_(1,2,3)}, which corresponds to Δ₂=(X_(1,2,3)), in I₂ and Δ_(j)=(y_(1,2,3)) in J_(j), as illustrated in FIG. 3. Δ and Δ′ determine two scene planes π1 and π2 in the 3D space, which induce two homographies H₁ and H₂ between P₁ and P₂. These plane-induced homographies can be computed given four point correspondences, i.e. the image point correspondences x_(i)

y_(i) and the epipoles e₁

e₂: H ₁ x _(i) ˜y _(i)  (1) H ₁ e ₁ ˜e ₂  (2)

where ˜ indicates projective equality up to an unknown scale. A similar set of equations provide H₂: H ₂ x _(i) ˜y _(i)  (3) H ₂ e ₁ ˜e ₂  (4)

Degenerate configurations are discussed later.

Second we look at Constraints on Homographies Induced by Moving Triplets: During a pose transition, the motion of a triplet Δ→Δ′ specifies a rigid motion of a scene plane π₁→π₂, which induces two homographies H₁ and H₂. These homographies define a mapping from I₁ (or I₂) to itself given by H˜H ₂ ⁻¹ H ₁  (5)

As shown in FIG. 3, H first maps a point x on I₁ (or I₂) to x on J_(i) (or J_(j)) through π₁, and then transforms it back to I₁ (or I₂) as H through π₂. It can be readily verified either algebraically or from FIG. 3 that points on the intersection of π₁ and π₂ are fixed during the mapping. Another fixed point under this mapping is the epipole e₁. Thus the homography H has a line of fixed points (the intersection line of π₁ and π₂) and a fixed point not on the line (the epipole e₁), which means that

Statement 2: If a triplet of 3D points observed by two cameras undergo the same motion, then the homography H reduces to a planar homology, and hence two of its eigenvalues must be equal.

The equality of the two eigenvalues of H defines a consistency constraint on H₁ and H₂, imposing the assumption that the two cameras are observing the same scene plane motions—we describe this in more detail shortly. In the special case when the triplet is stationary, i.e., I₁=I₂ and Ji=Jj, this equality constraint is still satisfied since H reduces to an identity matrix, with all its eigenvalues equal to 1.

In practice, due to noise and subject-dependent differences, this constraint of equality of two eigenvalues for the same pose transition can be expressed by defining the following error function on H:

$\begin{matrix} {{E(H)} = \frac{{a - b}}{{a + b}}} & (6) \end{matrix}$

where a, and b are the two closest eigenvalues of H. E(H) can be used to measure the similarity of motion of a triplet between two sequences, and the combination of E(H) for all triplets of noncollinear points provides a measure of similarity between pose transitions I₁→I₂ and J_(i)→J_(j):

$\begin{matrix} {{ɛ\left( {\left. I_{1}\rightarrow I_{2} \right.,\left. J_{i}\rightarrow J_{j} \right.} \right)} = {\underset{{all}\mspace{14mu}\Delta_{i}}{Median}\mspace{11mu}\left( {E(H)} \right)}} & (6) \end{matrix}$

ε(I₁→I₂,J_(i)→J_(j)) is minimal for similar pose transitions, and is invariant to camera calibration matrix and viewpoint variations. Here we use median since it is a robust estimator of the mean of a random variable in the presence of possible outliers.

We now turn to Action Alignment and Recognition.

The goal of action alignment is to determine the correspondences between two video sequences A={I_(1 . . . n)} and B={J_(1 . . . m)} with matching actions, in our case based on the eigenvalue constraint described above. We align A and B by seeking the optimal mapping Ψ: A→B such that the cumulative similarity score L^(n) S(i, ψ(i)) is maximized, where S(.) is the similarity of two poses. We define S(.) based on matching pose transitions: S(i,j)=τ−ε(I _(i→r) ₁ ,J _(j→r) ₂ )  (7)

where τ is a constant threshold, and r₁,s₁ ε[1,n] and r₂,s₂ ε[1 μm] are computed as follows:

$\begin{matrix} {\left\langle {r_{1},r_{2}} \right\rangle = {\underset{r_{1},r_{2}}{\arg\;\min}\left\{ {\min\limits_{s_{1},s_{2}}{ɛ\left( {I_{r_{1}\rightarrow s_{1}},J_{r_{2}\rightarrow s_{2}}} \right)}} \right\}}} & (8) \end{matrix}$

The matching score of A and B is then defined by

$\begin{matrix} {{\left( {A,B} \right)} = {\max\limits_{\psi}{\sum\limits_{i = 1}^{n}{S\left( {i,{\psi(i)}} \right)}}}} & (9) \end{matrix}$

In other words, a pair of reference poses (r₁,r₂) are found first by minimizing (9), and then two pose-transition sequences A(r₁) and B(r₂) are aligned by maximizing (10) using Dynamic Programming (DP). DP has been proven successful in sequence alignment, and has been applied in many areas, such as text processing and bioinformatics. The initialization (r_(i),r₂) can be further simplified by fixing r₁ and s₁, e.g., r₁=└n/4┘ and S₁=└3n/4┘. The traced-back path of DP provides an alignment between two video sequence. Note that this may not be a one-to-one mapping, since there exists horizontal or vertical lines in the path (see FIG. 10 (c) for example). In addition, due to noise and computational error, different initializations may lead to slightly different valid alignment results. Here the action matching score rather than the alignment is what we are concerned with in action recognition.

Action recognition: Consider that we are given a target sequence {Ii}, and a database of reference sequences corresponding to known different actions, {J_(i) ¹ }, {J_(i) ²}, . . . , {J_(i) ^(K)}. To recognize the performed action by a subject in {I_(i)}, we use the technique in section II-D to align {I_(i)} against all sequences in the database, and recognize it as the action with the highest matching score.

We now turn to Degenerate triplets.

A degenerate case occurs when three of the four points in a triplet are collinear. In general, we can simply discard these degenerate triplets, because in practice the number of non-degenerate triplets exceeds by far the degenerate triplets (Note that the total number of available triplets is

$\quad\begin{pmatrix} n \\ 3 \end{pmatrix}$ for n body points). A special degenerate case is when the epipole is at or close to infinity, in which case all triplets are close to degenerate since the distance between three image points is negligible compared with their distances to the epipole. We solve this problem by transforming the image points in projective space, in a manner similar to Zhang et al. [see Reference 37]. The idea is to find the projective transformations P and P′ for each image, such that after transformation the epipoles and transformed image points are not at infinity. Given corresponding image points {x_(i)} and {y_(i)}, we first normalize and transform {x_(i)} and {y_(i)} by T₁ and T₂ respectively such that the RMS distance of the points from the origin is equal to 2 and the x and y coordinates of transformed points are ≧1. Then the resulted image points are transformed in projective space by applying the algorithm described in Zhang et al. [see Reference 37].

A discussion of why this works follows.

Any two homographies H₁ and H₂ induced by a pair of scene planes π1 and π2 can be combined as H˜H₂ ⁻¹H₁, where H would always be a homology. An intriguing question that may arise is then the following: If this is true for any two scene planes, then why does the similarity measure based on the eigenvalue constraint proposed above work? and when would this constraint degenerate, i.e. fail to determine that the scene triplets undergo the same motion?

To answer these questions, let us re-examine what we do. A homography induced by a scene plane between two views requires a minimum of four points in order to be specified. We only have three points (i.e. the points of a triplet). However, in our case, the fundamental matrix F is known—we compute it using all the 11 body points across multiple frames. The key idea that makes it possible to compute the homographies is the fact that all the points on the baseline of the two cameras can be transferred via any scene plane. This is because all the points on the baseline are imaged at the two epipoles, and the epipoles can also be considered as the images of the intersection of the scene plane with the baseline. Therefore, when the fundamental matrix is known, one can use the epipoles as the fourth point for the homography induced by any scene plane. Next using the notations of FIG. 3, the homology H maps the points x_(i) as follows: Hx _(i) ˜H ₂ ⁻¹ H ₁ x _(i)  (5)

Next we look at action recognition based on fundamental ratios.

We turn first to Fundamental Ratios.

We next establish specific relations between homographies induced by world planes (determined by any triplet of non-collinear 3D points) and the fundamental matrix associated with two views. More specifically, we derive a set of new feature ratios that are invariant to camera intrinsic parameters for a natural perspective camera model of zero skew and unit aspect ratio. We then show that these feature ratios are projectively invariant to similarity transformations of the triplet of points in the 3D space, or equivalently invariant to rigid transformations of camera.

Proposition 1: Given two cameras P_(i)˜K_(i)[R_(i)|t_(i)], P_(j)˜K_(j)[R_(j)|t_(j)] with zero skew and unit aspect ratio, denote the relative translation and rotation from P_(i) to P_(j) as t and R respectively, then the upper left 2×2 submatrix of the fundamental matrix between two views is of the form

$\begin{matrix} {\left. F^{2 \times 2} \right.\sim\begin{bmatrix} {\varepsilon_{1{st}}t^{s}r_{1}^{t}} & {\varepsilon_{1{st}}t^{s}r_{2}^{t}} \\ {\varepsilon_{2{st}}t^{s}r_{1}^{t}} & {\varepsilon_{2{st}}t^{s}r_{2}^{t}} \end{bmatrix}} & (6) \end{matrix}$

where r_(k) is the k-th column of R, the superscript, e.g. i, refers to i^(th) element of a vector, and ε_(rst) for r, s, t=1, . . . , 3 is a permutation tensor.

Remark 1 The ratios among elements of F^(2×2) are invariant to camera calibration matrices K_(i) and K_(j).

The upper left 2×2 sub-matrices F^(2×2) for two moving cameras could be used to measure the similarity of camera motions. That is, if two cameras perform the same motion (same relative translation and rotation during the motion), and F₁ and F₂ are the fundamental matrices between any pair of corresponding frames, then F₁ ^(2×2)˜F₂ ^(2×2).

This also holds for the dual problem when the two cameras are fixed, but the scene objects in both cameras perform the same motion. A special case of this problem is when the scene objects are planar surfaces, which is discussed next.

Proposition 2: Suppose two fixed cameras are looking at two moving planar surfaces, respectively. Let F₁ and F₂ be the two fundamental matrices induced by the two moving planar surfaces (e.g. by the two triplets of points). If the motion of the two planar surfaces is similar (differ at most by a similarity transformation), then F ₁ ^(2×2) ˜F ₂ ^(2×2)  (7)

where the projective equality, denoted by ˜, is invariant to camera orientation.

Here similar motion implies that plane normals undergo same motion up to a similarity transformation. The projective nature of the view-invariant equation in (2) implies that the elements in the sub-matrices on the both sides of (2) are equal up to an arbitrary non-zero scale factor, and hence only the ratios among them matter. We call these ratios the fundamental ratios, and as propositions 1 and 2 imply, these fundamental ratios are invariant to camera intrinsic parameters and viewpoint. To eliminate the scale factor, we can normalize both sides using F_(i)=|F_(i) ^(2×2)|/∥F_(i) ^(2×2∥) _(F), where |·| refers to absolute value operator and ∥·∥_(F) stands for the Frobenius norm. We then have {circumflex over (F)} _(i) ={circumflex over (F)} ₂  (8)

In practice, the equality may not exactly hold due to noise, computational errors or subjects' different ways of performing same actions. We, therefore, define the following function to measure the residual error: ε({circumflex over (F)} ₁ ,{circumflex over (F)} ₂)=∥{circumflex over (F)} ₁ −{circumflex over (F)} ₂∥_(F)  (9)

We now turn to Action Recognition Using Fundamental Ratios.

We are given a video sequence {It} and a database of reference sequences corresponding to K different known actions, DB={J¹}, {J²}, . . . , {J^(K)}, where It and J^(k) are labeled body points in frame t. Our goal is to identify the sequence {J^(k)} from DB such that the subject in {I_(t)} performs the closest action to that observed in {J^(k)}

Existing methods for action recognition consider an action as a whole, which usually requires known start and end frames and is limited when action execution rate varies. Some other approaches regard action as a sequence of individual poses, and rely on pose-to-pose similarity measures. Since an action consists of spatio-temporal data, the temporal information plays a crucial role in recognizing action, which is ignored in a pose-to-pose approach. We thus propose using pose transition. One can thus compare actions by comparing their pose transitions using fundamental ratios.

We now turn to Matching Pose Transition.

The 3D body structure of a human can be divided into triplets of body points (see FIG. 14), each of which determines a plane in the 3D space when the points are not collinear. The problem of comparing articulated motions of human body thus transforms to comparing rigid motions of body planes (triplets). According to proposition 2, the motion of a plane induces a fundamental matrix, which can be identified by its associated fundamental ratios. If two pose transitions are identical, their corresponding body point triplets have the same fundamental ratios, which provide a measure for matching two pose transitions.

First we look at Fundamental matrix induced by a moving triplet.

We are given an observed pose transition Ii→Ij from sequence {I_(t)}, and a second one J^(k)→J^(k) from sequence {J^(k)}. When Ii→Ij corresponds to J^(k)→J^(k), one can regard them as observations of the same 3D pose transition from two different cameras P₁ and P₂, respectively. There are two instances of epipolar geometry associated with this scenario: 1—The mapping between the image pair (I_(i),I_(j)) and the image pair (J^(k), J^(k)) is determined by the fundamental matrix F related to P₁ and P₂. The projection of the camera center of P₂ in or I_(j) is given by the epipole e₁, which is found as the right null vector of F. Similarly the image of the camera center of P₁ in J^(k) or J^(k) is the epipole e₂ given by the right null vector of F^(T). 2—The other instance of epipolar geometry is between transitioned poses of a triplet of body points in two frames of the same camera, i.e. the fundamental matrix induced by a moving body point-triplet, which we denote as

. We call this fundamental matrix the inter-pose fundamental matrix, as it is induced by the transition of body point poses viewed by a stationary camera.

Let Δ be a triplet of non-collinear 3D points, whose motion lead to different projections on I_(i),I_(j),J^(k) and J^(k) as Δ_(i), Δ_(j), Δ_(m) ^(k) and Δ_(n) ^(k), respectively: Δ_(i) =

x ₁ ,x ₂ ,x ₃

, Δ_(j) =

x ₁ ′,x ₂ ′,x ₃′

, Δ_(m) ^(k) =

y ₁ ,y ₂ ,y ₃

, Δ_(n) ^(k)

y ₁ ′,y ₂ ′,y ₃′

.  (10)

Δi and Δj can be regarded as projections of a stationary 3D point triplet (X₁, X₂, X₃) on two virtual cameras P_(i)′ and P_(j)′, as shown in FIG. 12. (X₁, X₂, X₃) defines a world plane π, which induces a homography H_(ij) between P_(j)′ and P_(j)′. As discussed earlier this homography can be computed from three point correspondences and the epipoles. If e_(i)′ and e_(j)′, are known, then H_(ij) can be computed, and hence

induced by Δ_(i) and Δ_(j) can be determined using

˜[e _(j) ′]×H _(ij), or

˜H _(ij) ^(−T) [e _(i)′]×  (11)

Similarly,

induced by Δ_(m) ^(k) and Δ_(n) ^(k) is computed as

˜[e _(n) ′]×H _(mn), or

˜H _(mn) ^(−T) [e _(m)′]×  (12)

where e_(m)′ and e_(n)′ are the epipoles on virtual cameras P_(m)′ and P_(n)′, and H_(mn) is the induced homography. The difficulty with (11) and (12) is that the epipoles E_(j)′, e_(j)′, e_(m)′, and e_(n)′ are unknown, and cannot be computed directly from the triplet correspondences. Fortunately, however, the epipoles can be closely approximated as described below.

Proposition 3: If the exterior orientation of P₁ is related to that of P₂ by a translation, or by a rotation around an axis that lies on the axis planes of P₁, then under the assumption: e_(i)′=e_(j)′=e₁, e_(m)′=e_(n)′=e₂, we have: ε(

,

)=0  (13)

Under more general motion, the epipoles are only approximately equal. However, this approximation is inconsequential in action recognition for a wide range of practical rotation angles. As described shortly, using equation (4) and the fundamental matrices

and

computed for every non-degenerate triplet, we can define a similarity measure for matching pose transitions.

Degenerate triplets: A homography cannot be computed from four correspondences if three points are collinear. Even when three image points are close to collinear the problem becomes ill-conditioned. We call such triplets as degenerate, and simply ignore them in matching pose transitions. This does not produce any difficulty in practice, since with 11 body point representation used herein (see FIG. 4), we obtain 165 possible triplets, the vast majority of which are in practice non-degenerate. A special case is when the epipole is close to or at infinity, for which all triplets would degenerate. We solve this problem by transforming the image points in projective space in a manner similar to Zhang et al. [see Reference 37]. The idea is to find a pair of projective transformations such that after transformation the epipoles and transformed image points are not at infinity. Note that these transformations do not affect the projective equality in Proposition 2.

Next we look at Algorithm for Matching Pose Transitions.

The algorithm for matching two pose transitions

I_(i), I_(j)

and

J_(m) ^(k), J_(n) ^(k)

is as follows:

Compute F, e₁, e₂ between image pair

I_(i), I_(j)

and

J_(m) ^(k), J_(n) ^(k)

using the method proposed in by Hartley, “In Defense of the Eight-Point Algorithm”. IEEE Transaction on Pattern Recognition and Machine Intelligence, 19 (6): 580-593, 1997 [See Reference 40].

For each non-degenerate triplet Δ_(l) that projects onto Δ_(i), Δ_(j), Δ_(m) ^(k) and Δ_(n) ^(k) in I_(i), I_(j), J_(m) ^(k) and J_(n) ^(k) respectively, compute

,

as described above from (11) and (12), and compute e_(l)=ε

,

) from equation (9).

Compute the average error over all non-degenerate triplets using

${E\left( {\left. I_{i}\rightarrow I_{j} \right.,\left. J_{m}^{k}\rightarrow J_{n}^{k} \right.} \right)} = {\frac{1}{L}{\sum\limits_{ɛ = {1\mspace{14mu}\ldots\mspace{14mu} L}}e_{l}}}$

where L is the total number of non-degenerate triplets.

If E(I_(i)→I_(j), J_(m) ^(k)→J_(n) ^(k))<E₀ where E₀ is some threshold, then the two pose transitions are matched. Otherwise, the two pose transitions are classified as mismatched.

Now we turn to Action Recognition.

Given two sequences A and B, we match or align them by seeking the optimal mapping ψ: A→B such that the cumulative similarity score S(i, ψ(i)) is maximized, where S(.) is the similarity of two pose transitions. This is solved by dynamic programming. We define S(.) based on matching pose transitions as described above. To classify a given test sequence, we thus match it against each reference sequence in our action database, and classify it as the action with best matching score (see [Reference 41]). To ensure the approximation of epipoles discussed above, reference sequences from 2-3 viewpoints may be used for each action.

Experimental results for the eigenvalue method are now discussed.

We have validated our methods on both semi-synthetic and real data. Semi-synthetic data was generated from real motion-capture data using synthetic cameras with varying intrinsic parameters, different viewing directions, and varying noise levels. Our results on real data includes two sets of data: the IXMAS multiple view data set, and our own data set which consists of 56 video sequences of 8 actions (data available at http://cil.cs.ucf.edu/actionrecognition.html.

First we look at Analysis Based on Motion-Capture Data.

We generated our semi-synthetic data set using the CMU Motion Capture database (MoCap-http://mocap.cs.cmu.edu/), which consists of sequences of various actions in 3D, captured from real human actions. Here, we do not use the 3D points provided by the data, but merely project the 3D points onto images through synthetic cameras. In other words, we generate the images of 3D body points of a true person, using synthesized cameras and add Gaussian noise. Instead of using all the body points provided in the database, we selected a small subset of body points, which our experiments showed to be sufficient to represent human actions. The body model we employed consists of 11 joints and end points, including head, shoulders, elbows, hands, knees and feet (see FIG. 14). Experiments were then carried out on these generated 2D data to evaluate the performance of our method in recognizing pose transitions and actions in the presence of noise, varying viewpoints, different camera parameters, and subject-dependent differences.

1) Testing View-invariance and Robustness to Noise: We selected two poses P1,2 in a KICK-BALL sequence and two poses Q1,2 from the GOLF-SWING sequence (see FIG. 5). These 3D poses are observed by two synthesized cameras: camera 1 with focal length f1=1000 looks at the origin of the world coordinate from a fixed location (marked by red color in FIG. 8 (a)), while camera 2 is obtained by rotating camera 1 around x and y axes of the world coordinates in increment of 10 degrees, and changing the focal length randomly in the range of 1000±300. FIG. 8 (a) shows all locations of camera 2 as blue points. Camera 1 observes P_(1,2) as I_(1,2) and camera 2 observes P1,2 and Q1,2 as I3,4 and I5,6, respectively (see FIG. 6). We then added Gaussian noise to the image points, with a increasing in steps of 0.25 from 0 to 6.75. Two error functions ε(I₁→I₂,I₃→I₄) and ε(I₁→I₂,I₅→I₆) were computed. For each noise level (σ), the above procedure was run for 100 independent trials and the mean and the standard deviation of both error functions were calculated. The error surfaces and confusion areas (black areas) with σ=0, 2, 4 are shown in FIG. 6 (a)-(c). Same and different pose transitions are readily distinguishable up until σ=4.25, i.e., up to possibly 12.75 pixel errors. Note that in this experiment the images of the subject have a width of around 150 pixels (see FIG. 5), which indicates that our method performs extremely well

We compared our results with those obtained by a baseline method enforcing the equality of fundamental matrices and using the Sampson error. The plots are shown in FIG. 7. To compare the results in FIGS. 7 (a) and (b), we computed what we refer to as the confusion margin for each method, which is obtained by computing the distance d(σ) between minimum of same pose error bars and maximum of different pose error bars at each noise level σ, normalized using d′(σ)=d(σ)/d(0). If the confusion margin is negative, then the error bars overlap, indicating confusion in recognition. The curves for both methods are plotted in FIG. 7( c), and where they go negative are marked by red crosses. We repeated the experiments over pose transitions of 30 sequences of different actions. Average noise levels at which confusion occurs for the pose transitions of these 30 sequences are shown in FIG. 7( d), confirming a superior performance for our method compared with the baseline method.

2) Testing Action Recognition: We selected 5 actions from CMU's MoCap data set: walk, jump, golf swing, run, and climb. Each action is performed by 3 actors, and each instance of 3D action is observed by 17 cameras: the first camera was placed on (x₀, 0, 0), looking at the origin of the world coordinate system, while the remaining 16 cameras were generated by rotating around the y-axis by and β around the x-axis by α, where

${\beta = {\frac{\pi}{4}i}},{i = 0},\ldots\mspace{14mu},{{7\mspace{14mu}{and}\mspace{14mu}\alpha} = {\frac{\pi}{4}j}},{j = 0},1,2$ (see FIG. 8 for the location of cameras). The focal lengths were also changed randomly in the range 1000±300. FIG. 9 shows an example of a 3D pose observed from 17 viewpoints. We then added Gaussian noise with σ=3 to the image points.

Our data set consists of totally 255 video sequences, from which we generated a reference Action Database (ADB) of 5 sequences, one sequence for each action. These sequences are all selected from viewpoint 1. The rest of the data set was used as test data, and each sequence was matched against all actions in the ADB and classified as the one with highest score. For each sequence matching, 10 random initialization are tested. The classification results are shown in Table I. For instance, the number in row 1, column 5 means that two of walking sequences are misclassified as climbing. Table II shows the confusion matrix for the same data set using the baseline method. The overall classification accuracy for our method is 92%, compared with 85% for the baseline method.

TABLE I OUR METHOD: OVERALL ACCURACY ABOUT 92%. Recognized as Ground-truth Walk Jump Golf Swing Run Climb Walk 45 1 2 2 Jump 2 47 1 Golf Swing 1 48 1 Run 3 47 Climb 6 2 42

TABLE II BASELINE METHOD: OVERALL ACCURACY ABOUT 85%. Recognized as Ground-truth Walk Jump Golf Swing Run Climb Walk 41 2 1 4 2 Jump 2 45 1 2 Golf Swing 2 1 45 2 Run 3 2 1 43 1 Climb 5 1 1 3 40

A further examination of the experiments on viewpoint changes is shown in Table III, from which we find that the accuracy for viewpoint 17 in our method is as low as 46.7%. This is most probably due to the severe distortions caused from viewpoint 17, which is directly above the subject. Ignoring this highly unlikely viewpoint, the average accuracy for other viewpoints is about 95%, which is remarkably good, despite the extreme viewpoint changes and variations in camera intrinsic parameters.

TABLE III RECOGNITION ACCURACY FOR 17 DIFFERENT VIEWPOINTS Viewpoints 1 2 3 4 5 6 7 8 9 # of sequences 10 15 15 15 15 15 15 15 15 # of errors 0 0 1 1 0 1 2 0 2 Accuracy 1.0 1.0 .933 .933 1.0 .933 .867 1.0 .867 Viewpoints 10 11 12 13 14 15 16 17 # of sequences 15 15 15 15 15 15 15 15 # of errors 1 1 0 2 1 1 0 8 Accuracy .933 .933 1.0 .933 .867 .933 1.0 .467

We now look at Tests on Real Data.

1) Our own data set: We evaluated our method on a data set of real video sequences. To best simulate the situations in real life, we collected these videos from the Internet, coming from a variety of sources. The collected data set consists of 56 sequences of 8 actions: 4 of ballet fouettes, 12 of ballet spin, 6 of push-up exercise, 8 for golf swing, 4 of one-handed tennis backhand stroke, 8 of two-handed tennis backhand stroke, 4 of tennis forehand stroke, and 10 of tennis serve. Each action is performed by different subjects, and the videos are taken by different unknown cameras from various viewpoints collected over the Internet. In addition, videos in the same group (action) may have different starting and ending times, thus may be only partially overlapped. Subjects also perform the same action in different ways and at different speeds. Self-occlusion and minor camera motions also exist in many of the sequences, which provide a good test of the robustness of our method.

1.1) Aligning Two Actions. We tested our action alignment approach for numerous sequences in our database, two of which are shown in FIG. 10. These test sequences had different lengths or different starting and ending points of action. FIGS. 10 (a) and (b) show the two examples of aligned sequences. In the first example, two sequences of different lengths (the length of the upper sequence is 46 frames, and the lower one is 71 frames) are aligned, in which two players are performing golf swing at different speeds. The alignment result is shown in FIG. 10 (a): the first two rows show some matched poses, and the frame-to-frame mapping of two sequences are displayed in the third row. In the second example, shown in FIG. 10 (b), two sequences of a tennis serve-actions are aligned: the two sequences are roughly of the same length but different start and ending frames in terms of player's pose.

The accumulation matrices and the back-tracked paths in dynamic time warping for these two examples are shown in FIGS. 10 (c) and (d), respectively. The thresholds used in these examples were τ=0.3 and τ=0.4. The choice of τ reflects our estimate of the matching noise. The examples with different τ values shown here are only for demonstration purposes. We found that dynamic time warping in general performs well for a large range of values of τ and provides good-enough solutions for action recognition using our method. As stated in section II-D, we set τ to a constant value of 0.3 throughout our experiments.

1.2) Results on Action Recognition. We built an action database (ADB) by selecting one sequence for each action. The other sequences were used as test sequences, and were matched against all actions in ADB. The recognition result is based on the highest matching score for each sequence. We show the confusion matrix in FIG. 11 (a), where light colors represent similar actions and dark colors represent dissimilar actions. The recognition result is shown in FIG. 11 (b) (100% match), where the black block in each column indicates the recognized action for each test sequence.

2) IXMAS Data Set: We tested our methods on IXMAS data set, which is a multiple view data set with 13 daily-live motions, each performed 3 times by 11 actors. We segmented all sequences into different actions based on the provided ground-truth segmentation, and tested on actions {123 4 5 8 9 1011 12}, and we applied our method on all actors except for “Pao” and “Srikumar”. We took the actor “andreas” out of the data set, and used “andreas 1” under camera view “cam1” as the reference for all actions. The remaining sequences performed by all other actors were used as test data. Note that our reference and test sequences are all single-view, thus multiple view information in the data set is not used in our experiments. The global threshold τ=0.3 is used in our experiments, and the recognition results are shown in Table IV. The average recognition rate is 90.23%, which is comparable to the result of 93.33% using MHV given that we do not use multiple images and rely only on one view.

TABLE IV RECOGNITION RATE FOR IXMAS DATA. Action 1 2 3 4 5 Recognition Rate % 89.6 94.8 85.2 91.9 91.1 Action 8 9 10 11 12 Recognition Rate % 85.2 92.6 91.9 90.4 89.6 ACTIONS ARE: 1 = CHECK WATCH, 2 = CROSS ARMS, 3 = SCRATCH HEAD, 4 = SIT DOWN, 5 = GET UP, 8 = WAVE, 9 = PUNCH, 10 = KICK, 11 = POINT, 12 = PICK UP

FIG. 17 illustrates an example of the hardware components which may be used to implement the present invention. In an example embodiment, the system 10 includes an input camera device 12 (e.g., a standard or specialized action recognition camera) and a computing device 14 having at least one processor, a memory coupled to the processor, a program residing in the memory which implements the methods of the present invention, in communication with a database of known actions 16. The database 16 includes a sequence of 2D poses for each known action. Data for the database may be collected from a variety of available data/sources or prepared specifically for a particular application by recording action data and saving it to the database.

FIG. 18 is a flow chart of a method embodying this invention. In an example embodiment, the method comprises (1) receiving by the computing device action sequence information (in real time or previously recorded) as a set of labeled points for each image, wherein the received information requires only a single camera view, and wherein a human body pose P is generally represented by M body points: P={mi=1 . . . M} obtained by using articulated object tracking techniques, (2) processing the action sequence information using the methods of the invention (i.e., solve the action recognition problem by representing an action as a set of pose transitions defined by all possible triplets of body points, i.e., break down further each pose into a set of point-triplets and find invariants for the motion of these triplets across frames) to find a probable match by comparing the information to a reference sequence (e.g., a sequence of 2D poses for each known action maintained in an action database of actions), wherein the known actions require only one example view of each action in the database, (3) outputting the match along with optional confidence level information of one or more matches (e.g., outputting the confidence level as a percentage or, if more than one probable match is located, ranking the matches by confidence level). The matching score is based on pose transitions of all possible triplets of body points.

The output from the method may then be further used in many practical applications including therapy, sports enhancement and techniques, security, etc. For example, security cameras may capture action sequences and input this information into a computing device that recognizes the action by the method of the present invention and outputs an alarm if a recognized action is a security concern. Similarly, for therapy, a camera may capture action sequences of a patient and input this information into a computing device that recognizes the action by the method of the present invention and outputs feedback to the patient or therapist based on the recognized actions.

We now look at experimental results for the fundamental ratio method.

1. Analysis based on motion capture data. We generated our data based on the CMU Motion Capture Database, which consists of 3D motion data for a large number of human actions. We generated the semi-synthetic data by projecting 3D points onto images through synthesized cameras. In other words, our test data consist of video sequences of true persons, but the cameras are synthetic, resulting in semi-synthetic data to which various levels of noise were added. Instead of using all body points provided in CMU's database, we employed a body model that consists of only eleven points, including head, shoulders, elbows, hands, knees and feet (see FIG. 2). This model is also used in the experiments in section 4.2.

1.1 Testing View Invariance. We selected four different poses P1,P2,P3,P4 from a golf swinging sequence (see FIG. 2). We then generated two cameras as shown in FIG. 3 (a): camera 1 was placed at an arbitrary viewpoint (marked by red color), with focal length f1=1000; camera 2 was obtained by rotating camera 1 around an axis on x-z axis plane of camera 1 (colored as green), and a second axis on y-z axis plane of camera 1 (colored as blue), and changing focal length as f2=1200. Let I1 and I2 be the images of poses P1 and P2 on camera 1 and I3,I4,I5 and I6 the images of poses P1,P2,P3 and P4 on camera 2, respectively. Two sets of pose similarity errors were computed at all camera positions shown in FIG. 13 (a): ε(I₁→I₂,I₃→I₄) and ε(I₁→I₂,I₅→I₆). The results are plotted in FIGS. 3 (b) and (c), which show that, when two cameras are observing the same pose transitions, the error is zero regardless of their different viewpoints, confirming proposition 3.

Similarly, we fixed camera 1 and moved camera 2 on a sphere as shown in FIG. 3 (d). The errors ε(I₁→I₂,I₃→I₄) and ε(I₁→I₂,I₅→I₆) are shown in FIGS. 3 (e) and (f). Under this more general camera motion, the pose similarity score of corresponding poses is not always zero, since the epipoles in equations (5) and (6) are approximated. However, this approximation is inconsequential in most situations, because the error surface of different pose transitions is in general above that of corresponding pose transitions. FIG. 3 (h) shows the regions (black colored) where approximation is invalid. These regions correspond to the situation that the angles between camera orientations is around 90 degrees, which usually implies severe self-occlusion and lack of corresponding points in practice. The experiments on real data in section 4.2 also show the validity of this approximation under practical camera viewing angles.

1.2 Testing Robustness to Noise. Without loss of generality, we used the four poses in FIG. 2 to analyze the robustness of our method to noise. Two cameras with different focal lengths and viewpoints were examined. As shown in FIG. 14, I1 and I2 are the images of poses P1 and P2 on camera 1 and I3,I4,I5 and I6 are the images of P1,P2,P3 and P4 on camera 2. We then added Gaussian noise to the image points, with σ increasing from 0 to 8. The errors ε(I₁→I₂,I₃→I₄) and (I₁→I₂,I₅→I₆) were computed. For each noise level, the experiment was repeated for 100 independent trials, and the mean and standard deviation of both errors were calculated (see FIG. 14). As shown in the results, the two cases are distinguished unambiguously until σ increases to 4.0, i.e., up to possibly 12 pixels. Note that the image sizes of the subject were about 200×300, which implies that our method performs remarkably well under high noise.

1.3 Performance in Action Recognition. We selected 5 classes of actions from CMU's MoCap dataset: walk, jump, golf swing, run, and climb. Each action class is performed by 3 actors, and each instance of 3D action is observed by 17 cameras, as shown in FIG. 15. The focal lengths were changed randomly in the range of 1000±300. FIG. 9 shows an example of a 3D pose observed from 17 viewpoints.

Our dataset consists of totally 255 video sequences, from which we generated a reference action Database (DB) of 5 video sequences, i.e. one video sequence for each action class. The rest of the dataset was used as test data, and each sequence was matched against all actions in the DB and classified as the one with highest score. For each sequence matching, 10 random initializations were tested and the best score was used. The overall classification accuracy for all viewpoints is 81.60%, with very low accuracy at viewpoints 11, 14, 15, 16, which correspond to severe viewing angles from below or above the actor. Excluding these viewpoints, the classification accuracy increases to 94.21%.

2. Tests on real data. We collected video data from Internet, consisting of 56 sequences of 8 classes of actions. FIG. 16 (a) shows an example of matching action sequences. The frame rates and viewpoints of two sequences are different, and two players perform golf-swing action at different speeds. The accumulated score matrix and back-tracked path in dynamic programming are shown in FIG. 7 (c). Another result on tennis-serve sequences is shown in FIGS. 16 (b) and (d). We built an action database DB by selecting one sequence for each action; the rest were used as test data, and were matched against all actions in the DB. An action was recognized as the one with highest matching score. The confusion matrix is shown in Table 2, which indicates an overall 95.83% classification accuracy for real data.

Table V shows a comparison of different methods as follows: [16] V. Parameswaran and R. Chellappa. View invariants for human action recognition. Proc. IEEE CVPR, 2, 2003. [32] D. Weinland, R. Ronfard, and E. Boyer. Free viewpoint action recognition using motion history volumes. Computer Vision and Image Understanding, 104(2-3):249-257, 2006. [28] T. Syeda-Mahmood, A. Vasilescu, S. Sethi, I. Center, and C. San Jose. Recognizing action events from multiple viewpoints. Proc. IEEE Workshop on Detection and Recognition of Events in Video, pages 64-72, 2001. [2] M. Ahmad and S. Lee. HMM-based Human Action Recognition Using Multiview Image Sequences. ICPR, pages 263-266, 2006. [22] C. Rao, A. Yilmaz, and M. Shah. View-Invariant Representation and Recognition of Actions. International Journal of Computer Vision, 50(2):203-226, 2002. [33] A. Yilmazand M. Shah. Actions sketch: a novel action representation. Proc. IEEE Computer Vision and Pattern Recognition, 1, 2005. [26] Y. Sheikh and M. Shah. Exploring the Space of a Human Action. Proc. IEEE International Conference on Computer Vision, 1, 2005. [9] A. Gritai, Y. Sheikh, and M. Shah. On the use of anthropometry in the invariant analysis of human actions. Proc. International Conference on Pattern Recognition, 2, 2004.

TABLE V COMPARISON OF DIFFERENT METHODS: # of Other Methods views Camera model Input assumptions Ours 1 Persp. projective Body points [16] 1 Persp. projective Body points five preselected coplanar points or limbs trace planar area [32] 5 Persp. projective Visual hulls [28] 1 Persp. projective Feature points  [2] >1 Persp. projective Optical flow and silhouettes [22] 1 Affine Body points [33] 1 Affine Silhouettes [26] 1 Affine Body points Same start and end of sequences  [9] 1 Persp. projective Body points

Table 6, below, shows a confusion matrix.

TABLE VI Confusion matrix. Ground-true Recognized as action actions #1 #2 #3 #4 #5 #6 #7 #8 #1 3 #2 1 10 #3 5 #4 7 #5 3 #6 1 6 #7 3 #8 9 The actions are denoted by numbers: 1 - ballet fouette, 2 - ballet spin, 3 - pushup, 4 - golf swing, 5 - one handed tennis backhand, 6 - two handed tennis backhand, 7 - tennis forehand, 8 - tennis serve. The diagonal nature of the matrix indicates high accuracy.

An exemplary system for implementing the invention includes a computing device or a network of computing devices. In a basic configuration, computing device may include any type of stationary computing device or a mobile computing device. Computing device typically includes at least one processing unit and system memory. Depending on the exact configuration and type of computing device, system memory may be volatile (such as RAM), non-volatile (such as ROM, flash memory, and the like) or some combination of the two. System memory typically includes operating system, one or more applications, and may include program data. Computing device may also have additional features or functionality. For example, computing device may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules or other data. System memory, removable storage and non-removable storage are all examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other physical medium which can be used to store the desired information and which can be accessed by computing device. Any such computer storage media may be part of device. Computing device may also have input device(s) such as a camera, keyboard, mouse, pen, voice input device, touch input device, etc. Output device(s) such as a display, speakers, printer, etc. may also be included. Computing device also contains communication connection(s) that allow the device to communicate with other computing devices, such as over a network or a wireless network. By way of example, and not limitation, communication connection(s) may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.

Computer program code for carrying out operations of the invention described above may be written in a high-level programming language, such as C or C++, for development convenience. In addition, computer program code for carrying out operations of embodiments of the present invention may also be written in other programming languages, such as, but not limited to, interpreted languages. Some modules or routines may be written in assembly language or even micro-code to enhance performance and/or memory usage. It will be further appreciated that the functionality of any or all of the program modules may also be implemented using discrete hardware components, one or more application specific integrated circuits (ASICs), or a programmed digital signal processor or microcontroller. A code in which a program of the present invention is described can be included as a firmware in a RAM, a ROM and a flash memory. Otherwise, the code can be stored in a tangible computer-readable storage medium such as a magnetic tape, a flexible disc, a hard disc, a compact disc, a photo-magnetic disc, a digital versatile disc (DVD). The present invention can be configured for use in a computer or an information processing apparatus which includes a memory, such as a central processing unit (CPU), a RAM and a ROM as well as a storage medium such as a hard disc.

The “step-by-step process” for performing the claimed functions herein is a specific algorithm and is shown in the text of the specification as prose and/or in the flow charts. The instructions of the software program create a special purpose machine for carrying out the particular algorithm. In any means-plus-function claim herein in which the disclosed structure is a computer, or microprocessor, programmed to carry out an algorithm, the disclosed structure is not the general purpose computer, but rather the special purpose computer programmed to perform the disclosed algorithm.

A general purpose computer, or microprocessor, may be programmed to carry out the algorithm/steps of the present invention creating a new machine. The general purpose computer becomes a special purpose computer once it is programmed to perform particular functions pursuant to instructions from program software of the present invention. The instructions of the software program that carry out the algorithm/steps electrically change the general purpose computer by creating electrical paths within the device. These electrical paths create a special purpose machine for carrying out the particular algorithm/steps.

Unless specifically stated otherwise as apparent from the discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.

While various embodiments of the present invention have been shown and described herein, it will be obvious that such embodiments are provided by way of example only. Numerous variations, changes and substitutions may be made without departing from the invention herein.

References cited and incorporated herein include: 1. J. Aggarwal and Q. Cai. Human motion analysis: A review. Computer Vision and Image Understanding, 73(3):428-440, 1999. 2. M. Ahmad and S. Lee. HMM-based Human Action Recognition Using Multiview Image Sequences. ICPR, pages 263-266, 2006. 3. M. Blank, L. Gorelick, E. Shechtman, M. Irani, and R. Basri. Actions as space-time shapes. In Proc. ICCV, volume 2, pages 1395-1402, 2005. 4. A. Bobick and J. Davis. The recognition of human movement using temporal templates. IEEE Transactions on Pattern Analysis and Machine Intelligence, 23(3):257-267, 2001. 5. F. Cuzzolin. Using Bilinear Models for View-invariant Action and Identity Recognition. Proc. IEEE CVPR, 2:1701-1708, 2006. 6. A. Efros, A. Berg, G. Mori, and J. Malik. Recognizing action at a distance. Proc. IEEE International Conference on Computer Vision, pages 726-733, 2003. 7. D. Gavrila. Visual analysis of human movement: A survey. Computer Vision and Image Understanding, 73(1):82-98, 1999. 8. L. V. Gool and A. Proesmans. Grouping and invariants using planar homologies. 9. A. Gritai, Y. Sheikh, and M. Shah. On the use of anthropometry in the invariant analysis of human actions. Proc. International Conference on Pattern Recognition, 2, 2004. 10. R. I. Hartley and A. Zisserman. Multiple View Geometry in Computer Vision. Cambridge University Press, ISBN: 0521540518, second edition, 2004. 11. G. Johansson. Visual perception of biological motion and a model for its analysis. Perception and Psychophysics, 14:201-211, 1973. 12. I. Laptev, S. Belongie, P. Perez, J. Wills, C. universitaire de Beaulieu, and U. San Diego. Periodic Motion Detection and Segmentation via Approximate Sequence Alignment. Proc. IEEE International Conference on Computer Vision, pages 816-823, 2005. 13. F. Lv and R. Nevatia. Single View Human Action Recognition using Key Pose Matching and Viterbi Path Searching. CVPR, pages 1-8, 2007. 14. T. Moeslund and E. Granum. A survey of computer vision-based human motion capture. Computer Vision and Image Understanding, 81(3):231-268, 2001. 15. T. Moeslund, A. Hilton, and V. Krüger. A survey of advances in vision-based human motion capture and analysis. Computer Vision and Image Understanding, 104(2-3):90-126, 2006. 16. V. Parameswaran and R. Chellappa. View invariants for human action recognition. Proc. IEEE CVPR, 2, 2003. 17. V. Parameswaran and R. Chellappa. View Invariance for Human Action Recognition. IJCV, 66(1):83-101, 2006. 18. V. Pavlovic, J. Rehg, T. Cham, and K. Murphy. A Dynamic Bayesian Network Approach to Figure Tracking using Learned Dynamic Models. Proc. ICCV, 1:94-101, 1999. 19. P. Pritchett and A. Zisserman. Matching and reconstruction from widely separated views. In SMILE '98: Proceedings of the European Workshop on 3D Structure from Multiple Images of Large-Scale Environments, pages 78-92. Springer-Verlag, 1998. 20. D. Ramanan, D. Forsyth, and A. Zisserman. Strike a pose: Tracking people by finding stylized poses. In Proc. CVPR, Volume 1, pages 271-278, 2005. 21. D. Ramanan, D. Forsyth, and A. Zisserman. Tracking people and recognizing their activities. In Video Proceeedings of Computer Vision and Pattern Recognition (VPCVPR), page 1194, 2005. 22. C. Rao, A. Yilmaz, and M. Shah. View-Invariant Representation and Recognition of Actions. International Journal of Computer Vision, 50(2):203-226, 2002. 23. J. Rehg and T. Kanade. Model-based tracking of self-occluding articulated objects. Proc. Int. Conf Computer Vision, pages 612-617, 1995. 24. Schuldt, I. Laptev, and B. Caputo. Recognizing human actions: a local SVM approach. Proc. International Conference on Pattern Recognition, 3, 2004. 25. J. G. Semple and G. Kneebone. Algebraic Projective Geometry. Oxford University Press, 1979. 26. Y. Sheikh and M. Shah. Exploring the Space of a Human Action. Proc. IEEE International Conference on Computer Vision, 1, 2005. 27. J. Sullivan and S. Carlsson. Recognizing and tracking human action. In Proc. ECCV, pages 629-644, 2002. 28. T. Syeda-Mahmood, A. Vasilescu, S. Sethi, I. Center, and C. San Jose. Recognizing action events from multiple viewpoints. Proc. IEEE Workshop on Detection and Recognition of Events in Video, pages 64-72, 2001. 29. T. Vi'eville and Q.-T. Luong. Motion of points and lines in the uncalibrated case. Technical report 2054, INRIA, 1993. 30. L. Wang. Abnormal Walking Gait Analysis Using Silhouette-Masked Flow Histograms. Proc. International Conference on Pattern Recognition, pages 473-476, 2006. 31. L. Wang, W. Hu, T. Tan, et al. Recent developments in human motion analysis. Pattern Recognition, 36(3):585-601, 2003. 32. D. Weinland, R. Ronfard, and E. Boyer. Free viewpoint action recognition using motion history volumes. Computer Vision and Image Understanding, 104(2-3):249-257, 2006. 33. A. Yilmaz and M. Shah. Actions sketch: a novel action representation. Proc. IEEE Computer Vision and Pattern Recognition, 1, 2005. 34. A. Yilmaz and M. Shah. Matching actions in presence of camera motion. Computer Vision and Image Understanding, 104(2-3):221-231, 2006. 35. V. Zatsiorsky. Kinematics of Human Motion. Human Kinetics, 2002. 36. L. Zelnik-Manor and M. Irani. Multiview constraints on homographies. IEEE Trans. Pattern Anal. Mach. Intell., 24(2):214-223, 2002. 37. Z. Zhang and C. Loop. Estimating the fundamental matrix by transforming image points in projective space. Computer Vision and Image Understanding, 82(2):174-180, 2001. 38. G. Zhu, C. Xu, W. Gao, and Q. Huang. Action Recognition in Broadcast Tennis Video Using Optical Flow and Support Vector Machine. Lecture Notes in Computer Science, 3979:89, 2006. 39. X. Cao, J. Xiao, and H. Foroosh. Camera Motion Quantification and Alignment. Proc. ICPR, 13-16, 2006. 40. Richard I. Hartley, “In Defense of the Eight-Point Algorithm”. IEEE Transaction on Pattern Recognition and Machine Intelligence, 19 (6): 580-593, 1997. 

The invention claimed is:
 1. A computer-implemented method for recognizing pose and action of articulated objects, comprising: (a) receiving by a computing device action sequence information as a set of points for each of a plurality of images obtained from a single camera view, wherein the set of points represents a pose P of an articulated object defined by M body points obtained by using an articulated object tracking technique; (b) processing the action sequence information by dividing the set of points into triplets of points, wherein each triplet of non-collinear points defines a plane in 3D space, and determining a pose transition from a rigid motion of the plane in 3D space; (c) finding one or more probable matches by comparing the pose transition of the action sequence information to a pose transition of a reference sequence; and (d) outputting at least one of the one or more probable matches; wherein invariants of the planes are found for the rigid motion of the planes across two frames; and wherein the invariants of the planes are found by one or both of a vector of fundamental ratios and an equality of eigenvalues of cross-homography, thereby providing a view-invariant recognition of actions.
 2. The computer-implemented method of claim 1 wherein the action sequence information is received in real time or from previously recorded action sequence information.
 3. The computer-implemented method of claim 1 wherein the reference sequence comprises a sequence of two-dimensional (2D) poses for each of a known action maintained in an action database of known actions.
 4. The computer-implemented method of claim 1 wherein the pose P is represented by M body points such that P={mi=1 . . . M}.
 5. The computer-implemented method of claim 1 further comprising calculating and outputting by the processing device confidence level information for the one or more probable matches.
 6. The computer-implemented method of claim 1 wherein the vector of fundamental ratios defines three projective invariants for a configuration involving a moving plane as a moving triplet of points as observed in two frames by a stationary camera.
 7. The computer-implemented method of claim 1 wherein the output of at least one of the one or more probable matches is utilized in one or more of a video surveillance system or a gesture-based computer interface.
 8. A non-transitory computer readable medium containing program instructions for execution on a computing device, which when executed by the computing device, causes the computing device to: (a) receive action sequence information as a set of points for each of a plurality of images obtained from a single camera view, wherein the set of points represents a pose P of an articulated object defined by M body points obtained by using an articulated object tracking technique; (b) process the action sequence information by dividing the set of points into triplets of points, wherein each triplet of non-collinear points defines a plane in 3D space, and determining a pose transition from a rigid motion of the plane in 3D space; (c) finding one or more probable matches by comparing the pose transition of the action sequence information to a pose transition of a reference sequence; and (d) output at least one of the one or more probable matches; wherein invariants of the planes are found for the rigid motion of the planes across two frames; and wherein the invariants of the planes are found by one or both of a vector of fundamental ratios and an equality of eigenvalues of cross-homography, thereby providing a view-invariant recognition of actions.
 9. The non-transitory computer readable medium of claim 8 further comprising calculating and outputting by the processing device confidence level information for the one or more probable matches.
 10. The non-transitory computer readable medium of claim 8 wherein the vector of fundamental ratios defines three projective invariants for a configuration involving a moving plane as a moving triplet of points as observed in two frames by a stationary camera.
 11. A system for recognizing pose and action of articulated objects, comprising: a computing device having at least one processing device, a memory coupled to the processing device, the computing device in communication with a data source comprising action sequence information of an articulated object and a database of known actions; wherein the processing device executes a program residing in the memory to: (a) receive the action sequence information from the data source as a set of points for each of a plurality of images obtained from a single camera view, wherein the set of points represents a pose P of an articulated object defined by M body points obtained by using an articulated object tracking technique; (b) process the action sequence information by dividing the set of points into triplets of points, wherein each triplet of non-collinear points defines a plane in 3D space, and determining a pose transition from a rigid motion of the plane in 3D space; (c) find one or more probable matches by comparing the pose transition of the action sequence information to a pose transition of a reference sequence; and (d) output at least one of the one or more probable matches; wherein invariants of the planes are found for the rigid motion of the planes across two frames; and wherein the invariants of the planes are found by one or both of a vector of fundamental ratios and an equality of eigenvalues of cross-homography, thereby providing a view-invariant recognition of actions.
 12. The system of claim 11 further comprising calculating and outputting by the processing device confidence level information for the one or more probable matches.
 13. The system of claim 11 wherein the vector of fundamental ratios defines three projective invariants for a configuration involving a moving plane as a moving triplet of points as observed in two frames by a stationary camera. 